A computing capability of a processor, a memory capacity, and a bandwidth of an input/output interface are three important indicators for evaluating performance of a computer system. To improve the computing capability, a high-performance processor, for example, a multi-core multi-thread processor, needs to be configured in a system. In addition, multiple processors are interconnected inmost cases to forma symmetric multiprocessor (SMP) or non-uniform memory access (NUMA) architecture to implement concurrent processing of a service. To expand the memory capacity, a processor generally integrates multiple memory controllers, and each controller can support multiple memory modules. In combination with the forgoing multiprocessor technology, the memory capacity may be extended to a scale of several hundreds of GB. To increase the bandwidth of the input/output interface, the industry has launched high-speed interfaces, such as Peripheral Component Interconnect (PCI) Express, RapidIO, Interlaken, and 10G Ethernet interfaces, in the recent decade, and a rate constantly increases with upgrading of a protocol version.
Generally speaking, the computing capability, the memory capacity, and the bandwidth of the input/output interface should be configured in a balanced manner; otherwise, a performance bottleneck easily occurs, which affects overall performance of the computer system. However, in some special application scenarios, for example, servers used for different types of services (such as a Web server, a database server, and a streaming media server), have different emphasis on requirements for the three indicators. In a control function-oriented application scenario, the computing capability of the processor is of the utmost importance, and the memory capacity is relatively not so pressing. For a virtualization application scenario, because multiple services need to be deployed on multiple cores of the same processor and certain memory space needs to be allocated for each service, a more pressing requirement is imposed on the memory capacity.
A current server generally uses a universal multi-way processor design. Although the server may support multiple services, a service to be specifically performed is determined by a customer, for example, different application programs are installed to complete different service functions. Therefore, the server may have certain redundancy in a processing capability or a memory capacity, which increases a hardware cost and operating power consumption. For example, it is assumed that there is a four-way server in which a maximum of four processors can be installed, and each processor integrates a memory controller that can be externally connected to a memory module. In the foregoing virtualization scenario, it is possible that only two processors, instead of all four processors, need to be installed to meet a computing capability requirement. However, a memory capacity requirement may exceed a capacity of memories that come with the two processors. If the other two processors are also installed, the cost and power consumption increases; but if the other two processors are not installed, the memory capacity is insufficient.